#pragma once
#include "state.h"
#include "refc_ptr.h"
#include "jobs.h"
#include "thread.h"
#include "timer.h"

namespace krryn{
namespace system{ class driver; class renderer; }
namespace core{ class job_manager; }
namespace usr{
	class state_intro : public core::state{
	public:
		state_intro() : state(":intro"), m_TickDone("@tick-done") {}
		virtual ~state_intro();
	protected:
		virtual void init();
		virtual void activate();
		virtual void deactivate();
		virtual void tick();
	private:
		system::driver *m_Driver;
		system::renderer *m_Renderer;
		core::job_manager *m_Manager;
		core::event m_TickDone;
		core::timer m_Timer;
		long long m_Frames;
		float m_TotalWait;
	};
}
}
